82 #define SLAVE_ADDRESS 0x48
88 WDT_A_hold(WDT_A_BASE);
91 CS_setDCOFreq(CS_DCORSEL_0,CS_DCOFSEL_0);
93 CS_initClockSignal(CS_ACLK,CS_VLOCLK_SELECT,CS_CLOCK_DIVIDER_1);
95 CS_initClockSignal(CS_SMCLK,CS_DCOCLK_SELECT,CS_CLOCK_DIVIDER_1);
97 CS_initClockSignal(CS_MCLK,CS_DCOCLK_SELECT,CS_CLOCK_DIVIDER_1);
106 GPIO_setAsPeripheralModuleFunctionInputPin(
108 GPIO_PIN6 + GPIO_PIN7,
109 GPIO_SECONDARY_MODULE_FUNCTION
129 EUSCI_B_I2C_initMasterParam
param = {0};
130 param.selectClockSource = EUSCI_B_I2C_CLOCKSOURCE_SMCLK;
131 param.i2cClk = CS_getSMCLK();
132 param.dataRate = EUSCI_B_I2C_SET_DATA_RATE_400KBPS;
133 param.byteCounterThreshold = 1;
134 param.autoSTOPGeneration = EUSCI_B_I2C_SEND_STOP_AUTOMATICALLY_ON_BYTECOUNT_THRESHOLD;
135 EUSCI_B_I2C_initMaster(EUSCI_B0_BASE, &
param);
138 EUSCI_B_I2C_setSlaveAddress(EUSCI_B0_BASE,
143 EUSCI_B_I2C_setMode(EUSCI_B0_BASE,
144 EUSCI_B_I2C_RECEIVE_MODE
148 EUSCI_B_I2C_enable(EUSCI_B0_BASE);
150 EUSCI_B_I2C_clearInterrupt(EUSCI_B0_BASE,
151 EUSCI_B_I2C_RECEIVE_INTERRUPT0 +
152 EUSCI_B_I2C_BYTE_COUNTER_INTERRUPT
156 EUSCI_B_I2C_enableInterrupt(EUSCI_B0_BASE,
157 EUSCI_B_I2C_RECEIVE_INTERRUPT0 +
158 EUSCI_B_I2C_BYTE_COUNTER_INTERRUPT
166 RXData = EUSCI_B_I2C_masterReceiveSingleByte(EUSCI_B0_BASE);
MPU_initThreeSegmentsParam param